package com.tywj.panda.customer.common.provider

import com.tywj.lib.route.IServiceProvider
import com.tywj.lib.route.RouteNavigation

/**
 * <pre>
 *     author : June Yang
 *     time   : 2018/12/11
 *     desc   : 支付服务接口
 *     version: 1.0
 * </pre>
 */
interface IPayService : IServiceProvider {
    companion object {
        /**
         * 点击选择支付方式界面关闭按钮
         */
        const val CLICK_CHOOSE_PAY_CLOSE = 1

        /**
         * 点击支付支付成功界面关闭按钮
         */
        const val CLICK_PAY_SUCCESS_CLOSE = 2

        /**
         * 点击支付支付成功界面查看详情按钮
         */
        const val CLICK_PAY_SUCCESS_DETAIL = 3

        /**
         * 点击支付支付失败界面关闭按钮
         */
        const val CLICK_PAY_FAIL_CLOSE = 4
    }


    /**
     * 跳转至支付界面
     * @param orderId 订单号
     * @param money 支付金额（分）
     * @param callback 支付结果回调
     */
    fun toPay(orderId: String, money: Int, callback: Callback): RouteNavigation

    /**
     * 支付结果回调
     */
    interface Callback {
        /**
         * 支付结束
         * @param clickType 按钮点击类型
         */
        fun onPayResult(clickType: Int)
    }
}